home *** CD-ROM | disk | FTP | other *** search
- MATMUL(3I) Last changed: 1-6-98
-
-
- NNAAMMEE
- MMAATTMMUULL - Performs matrix multiplication of numeric or logical matrices
-
- SSYYNNOOPPSSIISS
- MMAATTMMUULL (([MMAATTRRIIXX__AA==]_m_a_t_r_i_x__a,, [MMAATTRRIIXX__BB==]_m_a_t_r_i_x__b))
-
- IIMMPPLLEEMMEENNTTAATTIIOONN
- UNICOS, UNICOS/mk, and IRIX systems
-
- SSTTAANNDDAARRDDSS
- Fortran 90
-
- DDEESSCCRRIIPPTTIIOONN
- The MMAATTMMUULL intrinsic function performs matrix multiplication
- operations on numeric or logical matrices. It accepts the following
- arguments:
-
- _m_a_t_r_i_x__a Must be of numeric type (integer, real, or complex) or of
- logical type. It must be array valued and of rank one or
- two.
-
- _m_a_t_r_i_x__b Must be of numeric type if _m_a_t_r_i_x__a is of numeric type and
- of logical type if _m_a_t_r_i_x__a is of logical type. It must be
- array valued and of rank one or two. If _m_a_t_r_i_x__a has rank
- one, _m_a_t_r_i_x__b must have rank two. If _m_a_t_r_i_x__b has rank one,
- _m_a_t_r_i_x__a must have rank two. The size of the first (or
- only) dimension of _m_a_t_r_i_x__b must equal the size of the last
- (or only) dimension of _m_a_t_r_i_x__a.
-
- MMAATTMMUULL is a transformational function. The name of this intrinsic
- cannot be passed as an argument.
-
- RREETTUURRNN VVAALLUUEESS
- The result type, type parameter, and shape are as follows. If the
- arguments are of numeric type, the type and kind type parameter of the
- result are determined by the types of the arguments. If the arguments
- are of type logical, the result is of type logical with the kind type
- parameter of the arguments. The shape of the result depends on the
- shapes of the arguments, as follows:
-
- * If _m_a_t_r_i_x__a has shape (_n, _m) and _m_a_t_r_i_x__b has shape (_m, _k), the
- result has shape (_n, _k).
-
- * If _m_a_t_r_i_x__a _h_a_s _s_h_a_p_e (_m) and _m_a_t_r_i_x__b has shape (_m, _k), the result
- has shape (_k).
-
- * If _m_a_t_r_i_x__a has shape (_n, _m) and _m_a_t_r_i_x__b has shape (_m), the result
- has shape (_n).
-
- Element (_i, _j) of the result has the value
- SSUUMM((MMAATTRRIIXX__AA((_i,,::))**MMAATTRRIIXX__BB((::,,_j)))) if the arguments are of numeric type
- and has the value AANNYY((MMAATTRRIIXX__AA((_i,,::))..AANNDD..MMAATTRRIIXX__BB((::,,_j)))) if the
- arguments are of logical type.
-
- Element (_j) of the result has the value SSUUMM((MMAATTRRIIXX__AA((::))**MMAATTRRIIXX__BB((::,,_j))))
- if the arguments are of numeric type and has the value
- AANNYY((MMAATTRRIIXX__AA((::))..AANNDD..MMAATTRRIIXX__BB((::,,_j)))) if the arguments are of logical
- type.
-
- Element (_i) of the result has the value SSUUMM((MMAATTRRIIXX__AA((_i,,::))**MMAATTRRIIXX__BB((::))))
- if the arguments are of numeric type and has the value
- AANNYY((MMAATTRRIIXX__AA((_i,,::))..AANNDD..MMAATTRRIIXX__BB((::)))) if the arguments are of logical
- type.
-
- EEXXAAMMPPLLEESS
- Let AA and BB be the matrices
- | 1 2 3 |
- | 2 3 4 |
- and
- | 1 2 |
- | 2 3 |
- | 2 4 |
-
-
- Let XX and YY be the vectors [[11,, 22]] and [[11,, 22,, 33]].
-
- * The result of MMAATTMMUULL((AA,, BB)) is the matrix-matrix product AABB with the
- value
- | 11 20 |
- | 16 29 |
-
- * The result of MMAATTMMUULL((XX,, AA)) is the vector-matrix product XXAA with the
- value [[55,, 88,, 1111]].
-
- * The result of MMAATTMMUULL((AA,, YY)) is the matrix-vector product AAYY with the
- value [[1144,, 2200]].
-
- SSEEEE AALLSSOO
- _I_n_t_r_i_n_s_i_c _P_r_o_c_e_d_u_r_e_s _R_e_f_e_r_e_n_c_e _M_a_n_u_a_l, publication SR-2138, for the
- printed version of this man page.
-
-